index

Modules

camera
module camera

* raylib.camera - Camera system with multiple modes support * NOTE: Memory footprint of this library is aproximately 52 bytes (global variables) * CONFIGURATION: * #define CAMERA_IMPLEMENTATION Generates the implementation of the library into the included file. If not defined, the library is in header only mode and can be included in other headers or source files without problems. But only ONE file should hold the implementation. * #define CAMERA_STANDALONE If defined, the library can be used as standalone as a camera system but some functions must be redefined to manage inputs accordingly. * CONTRIBUTORS: Marc Palau: Initial implementation (2014) Ramon Santamaria: Supervision, review, update and maintenance * *

easings
module easings

* raylib easings (header only file) * Useful easing functions for values animation * This header uses: #define EASINGS_STATIC_INLINE // Inlines all functions code, so it runs faster. // This requires lots of memory on system. How to use: The four inputs t,b,c,d are defined as follows: t = current time (in any unit measure, but same unit as duration) b = starting value to interpolate c = the total change in value of b that needs to occur d = total time it should take to complete (duration) *

gestures
module gestures

* raylib.gestures - Gestures system, gestures processing based on input events (touch/mouse) * NOTE: Memory footprint of this library is aproximately 128 bytes (global variables) * CONFIGURATION: * #define GESTURES_IMPLEMENTATION Generates the implementation of the library into the included file. If not defined, the library is in header only mode and can be included in other headers or source files without problems. But only ONE file should hold the implementation. * #define GESTURES_STANDALONE If defined, the library can be used as standalone to process gesture events with no external dependencies. * CONTRIBUTORS: Marc Palau: Initial implementation (2014) Albert Martos: Complete redesign and testing (2015) Ian Eito: Complete redesign and testing (2015) Ramon Santamaria: Supervision, review, update and maintenance * *

physac
module physac

* Physac v1.0 - 2D Physics library for videogames * DESCRIPTION: * Physac is a small 2D physics engine written in pure C. The engine uses a fixed time-step thread loop to simluate physics. A physics step contains the following phases: get collision information, apply dynamics, collision solving and position correction. It uses a very simple struct for physic bodies with a position vector to be used in any 3D rendering API. * CONFIGURATION: * #define PHYSAC_IMPLEMENTATION Generates the implementation of the library into the included file. If not defined, the library is in header only mode and can be included in other headers or source files without problems. But only ONE file should hold the implementation. * #define PHYSAC_STATIC (defined by default) The generated implementation will stay private inside implementation file and all internal symbols and functions will only be visible inside that file. * #define PHYSAC_NO_THREADS The generated implementation won't include pthread library and user must create a secondary thread to call PhysicsThread(). It is so important that the thread where PhysicsThread() is called must not have v-sync or any other CPU limitation. * #define PHYSAC_STANDALONE Avoid raylib.h header inclusion in this file. Data types defined on raylib are defined internally in the library and input management and drawing functions must be provided by the user (check library implementation for further details). * #define PHYSAC_DEBUG Traces log messages when creating and destroying physics bodies and detects errors in physics calculations and reference exceptions; it is useful for debug purposes * #define PHYSAC_MALLOC() #define PHYSAC_FREE() You can define your own malloc/free implementation replacing stdlib.h malloc()/free() functions. Otherwise it will include stdlib.h and use the C standard library malloc()/free() function. * * NOTE 1: Physac requires multi-threading, when InitPhysics() a second thread is created to manage physics calculations. NOTE 2: Physac requires static C library linkage to avoid dependency on MinGW DLL (-static -lpthread) * Use the following code to compile: gcc -o $(NAME_PART).exe $(FILE_NAME) -s -static -lraylib -lpthread -lopengl32 -lgdi32 -std=c99 * VERY THANKS TO: Ramon Santamaria (github: @raysan5) * *

raygui
module raygui

* raygui v2.0 - A simple and easy-to-use immedite-mode-gui library for raylib (www.raylib.com) * DESCRIPTION: * raygui is a library for creating simple IMGUI interfaces using raylib, intended for tools dev. * Basic controls provided: * - WindowBox - GroupBox - Line - Panel - Label - Button - LabelButton - ImageButton - ImageButtonEx - ToggleButton - ToggleGroup - CheckBox - ComboBox - DropdownBox - Spinner - ValueBox - TextBox - TextBoxMulti - Slider - SliderBar - ProgressBar - StatusBar - ScrollPanel - ListView - ColorPicker - MessageBox - DummyRec - Grid * It also provides a set of functions for styling the controls based on its properties (size, color). * CONFIGURATION: * #define RAYGUI_IMPLEMENTATION Generates the implementation of the library into the included file. If not defined, the library is in header only mode and can be included in other headers or source files without problems. But only ONE file should hold the implementation. * #define RAYGUI_STATIC (defined by default) The generated implementation will stay private inside implementation file and all internal symbols and functions will only be visible inside that file. * #define RAYGUI_STANDALONE Avoid raylib.h header inclusion in this file. Data types defined on raylib are defined internally in the library and input management and drawing functions must be provided by the user (check library implementation for further details). * #define RAYGUI_STYLE_SAVE_LOAD Include style customization and save/load functions, useful when required. * * VERSIONS HISTORY: 2.0 (01-May-2018) Lot of rework and redesign! Lots of new controls! 1.5 (21-Jun-2017) Working in an improved styles system 1.4 (15-Jun-2017) Rewritten all GUI functions (removed useless ones) 1.3 (12-Jun-2017) Redesigned styles system 1.1 (01-Jun-2017) Complete review of the library 1.0 (07-Jun-2016) Converted to header-only by Ramon Santamaria. 0.9 (07-Mar-2016) Reviewed and tested by Albert Martos, Ian Eito, Sergio Martinez and Ramon Santamaria. 0.8 (27-Aug-2015) Initial release. Implemented by Kevin Gato, Daniel Nicolás and Ramon Santamaria. * CONTRIBUTORS: Ramon Santamaria: Supervision, review, redesign, update and maintenance... Kevin Gato: Initial implementation of basic components (2014) Daniel Nicolas: Initial implementation of basic components (2014) Albert Martos: Review and testing of the library (2015) Ian Eito: Review and testing of the library (2015) Sergio Martinez: Review and testing of the library (2015) Adria Arranz: Testing and Implementation of additional controls (2018) Jordi Jorba: Testing and Implementation of additional controls (2018) * *

raylib
module raylib

* raylib - A simple and easy-to-use library to learn videogames programming (www.raylib.com) * FEATURES: - NO external dependencies, all required libraries included with raylib - Multiple platforms support: Windows, Linux, FreeBSD, OpenBSD, NetBSD, DragonFly, MacOS, UWP, Android, Raspberry Pi, HTML5. - Written in plain C code (C99) in PascalCase/camelCase notation - Hardware accelerated with OpenGL (1.1, 2.1, 3.3 or ES2 - choose at compile) - Unique OpenGL abstraction layer (usable as standalone module): rlgl - Powerful fonts module with Fonts support (XNA fonts, AngelCode fonts, TTF) - Outstanding texture formats support, including compressed formats (DXT, ETC, ASTC) - Full 3d support for 3d Shapes, Models, Billboards, Heightmaps and more! - Flexible Materials system, supporting classic maps and PBR maps - Shaders support, including Model shaders and Postprocessing shaders - Powerful math module for Vector, Matrix and Quaternion operations: raymath - Audio loading and playing with streaming support (WAV, OGG, MP3, FLAC, XM, MOD) - VR stereo rendering with configurable HMD device parameters - Complete bindings to LUA (raylib-lua) and Go (raylib-go) * NOTES: One custom font is loaded by default when InitWindow() core If using OpenGL 3.3 or ES2, one default shader is loaded automatically (internally defined) rlgl If using OpenGL 3.3 or ES2, several vertex buffers (VAO/VBO) are created to manage lines-triangles-quads * DEPENDENCIES (included): rglfw (github.com/glfw/glfw) for window/context management and input (only PLATFORM_DESKTOP) core glad (github.com/Dav1dde/glad) for OpenGL extensions loading (3.3 Core profile, only PLATFORM_DESKTOP) rlgl mini_al (github.com/dr-soft/mini_al) for audio device/context management audio * OPTIONAL DEPENDENCIES (included): stb_image (Sean Barret) for images loading (BMP, TGA, PNG, JPEG, HDR...) textures stb_image_resize (Sean Barret) for image resizing algorythms textures stb_image_write (Sean Barret) for image writting (PNG) utils stb_truetype (Sean Barret) for ttf fonts loading text stb_rect_pack (Sean Barret) for rectangles packing text stb_vorbis (Sean Barret) for OGG audio loading audio stb_perlin (Sean Barret) for Perlin noise image generation textures par_shapes (Philip Rideout) for parametric 3d shapes generation models jar_xm (Joshua Reisenauer) for XM audio module loading audio jar_mod (Joshua Reisenauer) for MOD audio module loading audio dr_flac (David Reid) for FLAC audio file loading audio dr_mp3 (David Reid) for MP3 audio file loading audio rgif (Charlie Tangora, Ramon Santamaria) for GIF recording core * *

raymath
module raymath

* raymath v1.2 - Math functions to work with Vector3, Matrix and Quaternions * CONFIGURATION: * #define RAYMATH_IMPLEMENTATION Generates the implementation of the library into the included file. If not defined, the library is in header only mode and can be included in other headers or source files without problems. But only ONE file should hold the implementation. * #define RAYMATH_HEADER_ONLY Define static inline functions code, so #include header suffices for use. This may use up lots of memory. * #define RAYMATH_STANDALONE Avoid raylib.h header inclusion in this file. Vector3 and Matrix data types are defined internally in raymath module. * *